Request for Comment (RFC) 3775, which is incorporated by reference herein, specifies a protocol which allows mobile nodes to remain reachable while moving around in the IPv6 Internet. Without specific support for mobility in IPv6, packets destined to a mobile node would not be able to reach the node while it is away from its home link. Mobility support is particularly important, as mobile computers are likely to account for at least a substantial fraction of the population of the Internet during the lifetime of IPv6.
The protocol defined in RFC 3775, which is known as Mobile IPv6, allows a mobile node to move from a home link to another link without changing the mobile node's “home address” (HoA). Packets may be routed to the mobile node using this address regardless of the mobile node's current point of attachment to the Internet. Accordingly, a mobile node is always expected to be reachable at its home address, whether it is currently attached to its home link or is away from home. The “home address” is an IP address assigned to the mobile node within its home subnet prefix on its home link. While a mobile node is at home, packets addressed to its home address are routed to the mobile node's home link, using conventional Internet routing mechanisms.
While a mobile node is attached to some foreign link away from home, it is also addressable at one or more “care-of addresses.” A care-of address (“CoA”) is an IP address associated with a mobile node that has the subnet prefix of a particular foreign link. The mobile node can acquire its care-of address through conventional IPv6 mechanisms, such as stateless or stateful auto-configuration. As long as the mobile node stays in this location, packets addressed to this care-of address will be routed to the mobile node.
The association between a mobile node's home address and care-of address is known as a “binding” for the mobile node. While away from home, a mobile node registers its primary care-of address with a “home agent” (e.g., a router or other node) on its home link. The mobile node performs this binding registration by sending a “Binding Update” message to the home agent. The home agent may reply to the mobile node by returning a “Binding Acknowledgement” message.
Any node communicating with a mobile node is referred to in this document as a “correspondent node”, and may itself be either a stationary node or a mobile node.
When a mobile node is away from its home (i.e., connected to a foreign link), there are two possible modes for communications between the mobile node and a correspondent node. The first mode is referred to as the “bidirectional tunneling” mode. In the bidirectional tunneling mode, packets from the correspondent node to the mobile node are routed to the mobile node's home agent and then tunneled by the home agent to the mobile node. Similarly, packets from the mobile node to the correspondent node are tunneled from the mobile node to the home agent (“reverse tunneled”) and then routed normally from the home agent to the correspondent node.
The second mode is referred to as the “route optimization” (RO) mode. In the route optimization mode, packets from the correspondent node to the mobile node can be routed directly to the care-of address of the mobile node. Routing packets directly to the mobile node's care-of address allows the shortest communications path to be used. It also may reduce congestion at the mobile node's home agent and home link. When routing packets directly to the mobile node, the correspondent node sets the Destination Address in the IPv6 header to the care-of address of the mobile node. A new type of IPv6 routing header is also added to the packet to carry the mobile nodes home address. Similarly, the mobile node sets the Source Address in the packet's IPv6 header to its current care-of addresses. The mobile node adds a new IPv6 “Home Address” destination option to carry its home address. The inclusion of home addresses in these packets makes the use of the care-of address transparent at the transport layer.
In order for a mobile node and a corresponding node to enter the RO mode, the correspondent node must have an association between the mobile node's home address and CoA and the mobile node and corresponding node must perform a “return routability” (RR) procedure. The RR procedure consists of exchanging four mobility signaling messages between the mobile node (MN) and correspondent node (CN) in order to test the MN's reachability on the claimed care-of address (CoA) and its home address and to generate a shared secret between the two nodes which is then used to authenticate a binding update (BU) and binding acknowledgment (BA) messages. It follows that successfully entering the RO mode requires in total six mobility messages, and, if we take into consideration that the MN needs first to update its home agent (HA) prior to triggering the RR procedure, then the total number of signaling messages would reach eight.
It becomes clear from the above that exchanging eight signaling messages each time the MN and a CN enter the RO mode may incur a significant data packet loss and/or delay. A further drawback is that the MN must repeat the RR procedure every 420 seconds due to security concerns. Furthermore, if the MN is having multiple sessions with different CNs then it has to repeat the RR which each CN, which in turn may severely impact the MN's power consumption.